package com.yqh;

import com.yqh.discovery.RegistryConfig;

/**
 * @author 阳秋豪
 * @createTime 2024/2/28
 */
public class ConsumerApplication {
    public static void main(String[] args) {
        // 想尽一切办法获取代理对象，使用 ConsumerConfig 进行封装
        ConsumerConfig<HelloMyrpc> consumer = new ConsumerConfig<>();
        consumer.setInterfaceConsumer(HelloMyrpc.class);

        // 代理做了什么
        // 1、连接注册中心
        // 2、拉取服务列表
        // 3、选择一个服务并建立连接
        // 4、发送请求，携带一些信息（接口名、参数列表、方法名），获取结果
        MyrpcBootstrap
                .getInstance()
                .application("first-myrpc-consumer")
                .registry(new RegistryConfig("zookeeper://127.0.0.1:2181"))
                .consumer(consumer);

        // 获取一个代理对象
        HelloMyrpc helloMyrpc = consumer.get();
        helloMyrpc.sayHello("你好");
    }
}
